The invention relates generally to data transmission networks wherein flows of data are transmitted from a source node to a destination node through a plurality of switching nodes and particularly to a system and method for assigning labels in a data transmission network using label switching.
The use of packet switched networks (PSNs) has become an important technology in the transmitting of data over today""s Local and Wide Area Networks (LANs and WANs). In most of these PSNs, each node is used as a switching node after the route for a flow of data from a source node to a destination node has been established by routers located at each node. The assignment of a particular packet to a particular flow of data is done only once as that packet enters the network. The flow to which the packet is assigned is associated with a short fixed length value known as a label. When a packet is forwarded to the next switching node, the label is sent along with it. At subsequent nodes, the label is used as an index into a table which specifies the next node in the flow such that a corresponding new label can be assigned. No further analysis of the packet header is required once a label has been assigned.
The decision to bind a particular label to a particular flow of data is made either by an upstream switching node or by a downstream switching node on the network path. The label assignment is made when the first frame of a flow of data is routed by a node""s router. A default label assigned to this first frame of data is replaced by the newly assigned label. The switching node which assigns the label uses a label distribution protocol to inform the linked switching node (either upstream or downstream) of the assigned label. If it is the upstream switching node which is in charge of assigning the label, (known as a forward label assignment mechanism), this node sends a message containing the assigned label to its corresponding downstream switching node. The downstream node then sends an acknowledgment to the upstream switching node. Upon reception of the acknowledgment, the upstream switching node may then start transmitting packets using the assigned label.
If, instead, the downstream switching node is charged with the task of label assignment, (known as a backward label assignment mechanism), it does so upon the receipt of the first packet of a new flow of data. Again, a label distribution protocol is used by the downstream switching node to send a message to its corresponding upstream switching node containing the newly assigned label. At this time, the upstream switching node may start transmitting packets using this newly assigned label without the need for sending an acknowledgment to the downstream node.
Whichever of these label assignment mechanisms is employed, either forward or backward, transmission overhead exists as a result of the need for the label assigning node to inform the corresponding upstream or downstream node of its label assignment decision. This requires that an additional protocol (the so-called label distribution protocol) be used to effect this transmission of the assigned label. Another drawback of using these label assignment mechanisms is associated with the delay in running the label distribution protocol procedure itself. Until this protocol procedure completes and a data flow label is assigned, packets must be routed by a switching node""s router by examining the header of each packet received. Inasmuch as several packets will have to be routed in this manner, such systems require expensive, high-performance routers to account for this added transmission overhead.
Accordingly, it is a purpose of the present invention to provide a system for assigning labels in a data transmission network which does not introduce transmission overhead and does not require high-performance routers at each network node. Another purpose of the invention is to achieve a method of assigning labels in a data transmission network which does not introduce any transmission overhead.
Therefore, the present invention relates to a method and system for assigning labels in a data transmission network in which flows of data, composed of packets, are transmitted from a source node to a destination node through a plurality of switching nodes. The network is further characterized in that a label, identifying each flow of data, is added to each packet of the flow of data before the packet is transmitted from a transmitting node to an adjacent receiving node in the network. This so-called identification label is recognized by the receiving node as the identification of the flow of data to be transmitted. Each node in the network assigns an identification label to the packets when a new flow of data is received by the node. Both the transmitting and receiving nodes in the network generate an identical label for a given flow of data. Thus, the overhead associated with the sending of assigned labels from assigning nodes to corresponding upstream or downstream transmitting or receiving nodes in the network is avoided.
According to another aspect of the invention, a method and system are proposed wherein the identification labels are generated, first by filling an assigned label table with the headers of the flow of data being transmitted and using the address of the location where the header is stored as the identification label, and second by using a label stored in a free label table filled with a list of labels which are freed according to predefined criteria.